//求1000以内的相亲数
public class Test {
    //约数求和
    public static int appNum(int n) {
        int sum = 0;
        for (int i = 1; i <= n/2; i++) {
            if(n % i == 0) {
                sum += i;
            }
        }
        return sum;
    }

    public static void main(String[] args) {
        for (int i = 1; i < 1000; i++) {
            //用i的约数和来代表另一个数，只使用单层循环，效率更高
            if(i > appNum(i) && i == appNum(appNum(i))) {
                System.out.println(i + "和" + appNum(i) + "是一对相亲数");
            }
        }
    }
}

